From cd3184140f8704569ddc7ca20d80c6dc3983ef0e Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Thu, 12 Feb 2009 14:59:22 +0000 Subject: [PATCH] (check_face_name): Check for fake helv. (Bug#2275) (add_font_entity_to_list): Call check_face_name even when family is unspecified. --- src/w32font.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/w32font.c b/src/w32font.c index d28483ada1e..848da7f464d 100644 --- a/src/w32font.c +++ b/src/w32font.c @@ -1374,6 +1374,14 @@ check_face_name (font, full_name) _strlwr (full_iname); return strstr ("helvetica", full_iname) != NULL; } + /* Same for Helv. */ + if (!xstrcasecmp (font->lfFaceName, "helv")) + { + strncpy (full_iname, full_name, LF_FULLFACESIZE); + full_iname[LF_FULLFACESIZE] = 0; + _strlwr (full_iname); + return strstr ("helv", full_iname) != NULL; + } /* Since Times is mapped to Times New Roman, a substring match is not sufficient to filter out the bogus match. */ @@ -1437,9 +1445,8 @@ add_font_entity_to_list (logical_font, physical_font, font_type, lParam) logical_font->elfLogFont.lfFaceName)) /* Check for well known substitutions that mess things up in the presence of Type-1 fonts of the same name. */ - || (match_data->pattern.lfFaceName[0] - && !check_face_name (&logical_font->elfLogFont, - logical_font->elfFullName))) + || (!check_face_name (&logical_font->elfLogFont, + logical_font->elfFullName))) return 1; /* Make a font entity for the font. */ -- 2.30.2